measure number of nodes and time required to complete a problem, suite of problems.
then work on a hash signature


- don't allow "move now" before the pv >= size 1
  Update: I think this will have to wait until there is a root search routine.
  
  
***** STYLE10 *****     

Style 10 was designed to be somewhat readable by humans but easy
for a program to interpret.  Unlike the other styles, the board
is not flipped.  White is always at the bottom, and black is
always at the top.  Castling and en-passant information is also
included.  Here is an example.

"10"
|r b kbnr|   
|ppp ppp |   
|  nq    |   
|   p   p|   
|   P    |   
|  NQB  N|   
|PPP PPPP|   
|R   KB R|   
B -1 1 1 1 1 3   
0 Darooha Quimbee 1 2 12 39 39 113 129 5 B/c1-e3 (0:22) Be3   

The second from last line has 7 fields (separated by blanks). They are:
 * color whose turn it is to move ("B" or "W")   
 * -1 if the previous move was NOT a double pawn push,   
   otherwise the file (numbered 0--7 for a--h) in which   
   the double push was made   
 * can white still castle on the king side? (0=no, 1=yes)   
 * can white still castle on the queen side?   
 * can black still castle on the king side?   
 * can black still castle on the queen side?   
 * the number of moves made since the last irreversible move.   
   (0 if last move was irreversible.  If this is >= 100, the game   
   can be declared a draw due to the 50 move rule.)   
   
The last line has 14 fields separated by blanks.  They are:
 * The game number   
 * White's name   
 * Black's name   
 * is it my turn to move in this game? (1=yes, -1=opponent's move, 0=observing)   
 * initial time (in seconds) of the match   
 * increment of the match   
 * white strength   
 * black strength   
 * white's remaining time   
 * black's remaining time   
 * the number of the move about to be made   
   (standard chess numbering -- White's and Black's first moves   
   are both 1, etc.)   
 * verbose coordinate notation for the previous move ("none" if there were none)   
 * time taken to make previous move "(min:sec)".   
 * pretty notation for the previous move ("none" if there is none)   

  
Creating: Wizard-King (1164) LesserProphet (1026) unrated Blitz 5 5
You accept the challenge of Wizard-King.
{Game 113 (Wizard-King vs. LesserProphet) Creating unrated blitz match.} *

<10>
|rnbqkbnr|
|pppppppp|
|        |
|        |
|        |
|        |
|PPPPPPPP|
|RNBQKBNR|
W -1 1 1 1 1 0
113 Wizard-King LesserProphet -1 5 5 39 39 300 300 1 none (0:00) none 1
>10<
aics% 
Game 113 (Wizard-King vs. LesserProphet)
<10>
|rnbqkbnr|
|pppppppp|
|        |
|        |
|    P   |
|        |
|PPPP PPP|
|RNBQKBNR|
B 4 1 1 1 1 0
113 Wizard-King LesserProphet 1 5 5 39 39 272 300 1 P/e2-e4 (0:33) e4 1
>10<
aics% e4

<10>
|rnbqkbnr|
|pppppppp|
|        |
|        |
|    P   |
|        |
|PPPP PPP|
|RNBQKBNR|
B 4 1 1 1 1 0
113 Wizard-King LesserProphet 1 5 5 39 39 272 285 1 P/e2-e4 (0:33) e4 1
>10<
Illegal move (e4).
aics% e5
Game 113 (Wizard-King vs. LesserProphet)
<10>
|rnbqkbnr|
|pppp ppp|
|        |
|    p   |
|    P   |
|        |
|PPPP PPP|
|RNBQKBNR|
W 4 1 1 1 1 0
113 Wizard-King LesserProphet -1 5 5 39 39 272 282 2 P/e7-e5 (0:23) e5 1
>10<
aics% quit
  